//#include <iostream>
//using namespace std;
//
//const int N = 1e5 + 10;
//
//int q[N] = { 0 };
//int h = 0;
//int t = 0;
//
//void push(int x)
//{
//	q[++t] = x;
//}
//
//void pop()
//{
//	++h;
//}
//
//int back()
//{
//	return q[t];
//}
//
//int front()
//{
//	return q[h + 1];
//}
//
//bool empty()
//{
//	return h == t;
//}
//
//int size()
//{
//	return t - h;
//}
//
//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		push(i);
//	}
//
//	while (size())
//	{
//		cout << front() << " " << back() << endl;
//		pop();
//	}
//	return 0;
//}



//#include <iostream>
//#include <queue>
//using namespace std;
//
//int n;
//
//int main()
//{
//	cin >> n;
//	queue<int> q;
//	while (n--)
//	{
//		
//		int a;
//		cin >> a;
//		if (a == 1)
//		{
//			int b;
//			cin >> b;
//			q.push(b);
//		}
//		else if (a == 2)
//		{
//			if (q.empty())
//			{
//				cout << "ERR_CANNOT_POP" << endl;
//			}
//			else
//			{
//				q.pop();
//			}
//
//		}
//		else if (a == 3)
//		{
//			if (q.empty())
//			{
//				cout << "ERR_CANNOT_QUERY" << endl;
//			}
//			else
//			{
//				cout << q.front() << endl;
//			}
//		}
//		else
//		{
//			cout << q.size() << endl;
//		}
//	}
//	return 0;
//}


//#include <iostream>
//using namespace std;
//
//const int N = 110;
//
//int q[N] = { 0 };
//int h = 0;
//int t = 0;
//
//void push(int x)
//{
//	q[++t] = x;
//}
//
//void pop()
//{
//	++h;
//}
//
//int size()
//{
//	return t - h;
//}
//
//bool find(int x)
//{
//	for (int i = h + 1; i <= t; i++)
//	{
//		if (q[i] == x)
//			return 1;
//	}
//
//	return 0;
//}
//
//int main()
//{
//	int n, m;
//	cin >> n >> m;
//	int count = 0;
//
//	for (int i = 0; i < m; i++)
//	{
//		int x;
//		cin >> x;
//
//		if (!find(x))
//		{
//			if (size() == n)
//			{
//				pop();
//			}
//			push(x);
//			count++;
//		}
//
//	}
//
//	cout << count << endl;
//}
//
//#include <iostream>
//#include <queue>
//using namespace std;
//
//const int N = 1010;
//int m, n;
//bool a[N] = { 0 };
//
//int main()
//{
//	cin >> m >> n;
//	queue<int> q;
//
//	int count = 0;
//	for (int i = 1; i <= n; i++)
//	{
//		int x;
//		cin >> x;
//
//		if (a[x])
//			continue;
//		else
//		{
//			q.push(x);
//			a[x] = 1;
//			count++;
//
//			if (q.size() > m)
//			{
//				a[q.front()] = 0;
//				q.pop();
//			}
//		}
//	}
//
//	cout << count << endl;
//
//	return 0;
//}


//#include <iostream>
//#include <queue>
//using namespace std;
//
//const int N = 1e5 + 10;
//
//typedef pair<int, int> ptt;
//
//int cnt[N] = { 0 };
//int kinds = 0;
//
//int main()
//{
//	int n;
//	cin >> n;
//	queue<ptt> q;
//	while (n--)
//	{
//		int t, k;
//		cin >> t >> k;
//		for (int i = 1; i <= k; i++)
//		{
//			int x;
//			cin >> x;
//			q.push({ t,x });
//			if (cnt[x]++ == 0)
//				kinds++;
//		}
//
//		while (q.size() && q.back().first - q.front().first >= 86400)
//		{
//			ptt a = q.front();
//			q.pop();
//
//
//			if (cnt[a.second]-- == 1)
//				kinds--;
//		}
//
//		cout << kinds << endl;
//	}
//	return 0;
//}